window.onload=function(){
    //初始化数据
}
//渐渐消失动画效果
function dieOut(Element) {
    // console.log(Element);
    Element.style.backgroundColor="blanchedalmond";
    if (Element.innerHTML!="" || Element.innerHTML!="undefined") {
        Element.innerHTML=window.clearInterval(Element.innerHTML);
    }
    let index = 40;
    Element.innerHTML=window.setInterval(function(){
        if (index<0) {
            Element.style.backgroundColor="";
            Element.innerHTML=window.clearInterval(Element.innerHTML);
        } else {
            Element.style.opacity=index+"%";/*设置透明度*/
            index--;
        }
    },30);
}
/**
 * 延时 --源自https://zhidao.baidu.com/question/2010107326743093468.html
 * @param {int} millisec 以 ms为单位，延时
 */
function sleep(millisec) {
    console.log("等待"+millisec+"ms");
    let endTime = new Date().getTime()+parseInt(millisec);  // get the current time   
    while (new Date().getTime() < endTime );  // hog cpu
    console.log("等待结束");
}
var MapPool=null;
//入口，启动, 解析
function start() {
    console.log("开始执行...");
    let datas=document.getElementById("data").value.split(' ');//获取数据
    analysis(datas,竖琴);
    console.log("执行结束");
}

/**
 * 解析数据，并调用函数来执行，传值，给函数自己解析
 * @param {Array} dataArray 数字数组，其它数据全部不执行，默认10ms延迟
 * @param {Function} fun 执行操作的函数
 */
function analysis(dataArray,fun) {
    if (Array.isArray(dataArray)) {
        if (dataArray.length>1) {//长度大于1时才执行，空值时会切割出一个空值，长度为1，所以大于1时才执行
            let i = 0;       //遍历用
            let timeID=null; //定时器id
            let str="";      //临时字符串
            timeID=setInterval(function(){
                if (i < dataArray.length) {//遍历是否结束
                    str=dataArray[i].toString();
                    if (str.length <= 2) {
                        //判断当前数据是否合法  不为空 &&小于16 &&大于0
                        if (str!="" && str<=16 && str>0) {
                            fun(str);//调用函数，传当前数据
                        }
                    }else {
                        if (str.substring(str.length-2)=="ms") {//判断是否是等待等待 parseInt()let 
                            sleep( str.substring(0,str.length-2) );
                        }
                    }
                    i++;//遍历自增长
                } else {//关闭定时器,退出
                    timeID=window.clearInterval(timeID);
                }
            },10);
        }else{
            console.log("空数组");
        }
    }else{
        console.log("传入的对象不是数组"+dataArray);
    }
}

/**
 * 函数实体，执行操作
 * @param {int} key 范围在1-15之间（包含1和15）
 */
function 竖琴(key) {
    switch (key.toString()) {
        case  "1":    document.getElementById("m1").click();  break;//当数值为1时，执行该内容
        case  "2":    document.getElementById("m2").click();  break;
        case  "3":    document.getElementById("m3").click();  break;
        case  "4":    document.getElementById("m4").click();  break;
        case  "5":    document.getElementById("m5").click();  break;
        case  "6":    document.getElementById("m6").click();  break;
        case  "7":    document.getElementById("m7").click();  break;
        case  "8":    document.getElementById("m8").click();  break;
        case  "9":    document.getElementById("m9").click();  break;
        case "10":    document.getElementById("m10").click(); break;
        case "11":    document.getElementById("m11").click(); break;
        case "12":    document.getElementById("m12").click(); break;
        case "13":    document.getElementById("m13").click(); break;
        case "14":    document.getElementById("m14").click(); break;
        case "15":    document.getElementById("m15").click(); break;
        default:console.log("默认操作...");break;
    }
}

function Test() {
    analysis([1,2,3,4,"1555ms",6,7,8,9,10,11,12,13,14,15]);
}
